package com.itheima.controller;

import com.itheima.common.R;
import com.itheima.domain.ProductAttribute;
import com.itheima.manager.PmsProductAttributeManager;
import com.itheima.vo.PageBeanVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;
import java.util.Map;

@RestController
public class PmsProductAttributeController {
    @Autowired
    PmsProductAttributeManager pmsProductAttributeManager;

    //根据商品分类的id获取商品属性及属性分类
    @GetMapping("/productAttribute/attrInfo/{productCategoryId}")
    public R<List<Map<String,Long>>> findAttrIdAndAttrCateId(@PathVariable Long productCategoryId){
        return pmsProductAttributeManager.findAttrIdAndAttrCateId(productCategoryId);
    }

    //添加商品属性信息
    @PostMapping("/productAttribute/create")
    public R<String> create(@RequestBody ProductAttribute productAttribute){
        return pmsProductAttributeManager.create(productAttribute);
    }

    //批量删除商品属性
    @PostMapping("/productAttribute/delete")
    public R<String> deleteAttr(String ids){
        return pmsProductAttributeManager.deleteAttr(ids);
    }

    //根据分类查询属性列表或参数列表
    @GetMapping("/productAttribute/list/{cid}")
    public R<PageBeanVo> findByCidAndPage(@PathVariable Long cid,
                                          @RequestParam(value = "pageNum",defaultValue = "1")Integer pageNum,
                                          @RequestParam(value="pageSize",defaultValue = "5")Integer pageSize, Integer type){
        return pmsProductAttributeManager.findByCidAndPage(cid,pageNum,pageSize,type);
    }

    //修改商品属性信息
    @PostMapping("/productAttribute/update/{id}")
    public R<String> updateAttr(@PathVariable Long id,@RequestBody ProductAttribute productAttribute){
        return pmsProductAttributeManager.updateAttr(productAttribute);
    }

    //查询单个商品属性
    @GetMapping("/productAttribute/{id}")
    public R<ProductAttribute> findById(@PathVariable Long id){
        return pmsProductAttributeManager.findById(id);
    }
}
